A network can connect various components and devices together so that the components and devices can communicate. For instance, the Internet is a network of networks that allows a virtually limitless number of computers to share information and resources, provide services, etc. Networks can be quite useful on a smaller scale as well. For example, networks are increasingly used in the home to connect a variety of devices, such as home computers, printers, household appliances, environmental systems, and network-ready home theater components like televisions, digital versatile disk (DVD) players, satellite turners, etc.
By networking devices such as these, it may be possible to control one or more of the devices remotely through the network from any of a variety of control points. A common example of a remotely controlled device is a computer with a printer coupled to it. If the computer is connected to a network, another computer on the network may be able to request that the computer print a file by sending both the request and the file through the network. Similarly, a computer, or some other device, may be able to request a home theater to do a variety of actions, such as play a DVD or even download content from a server that is accessible through the network. These requests are often called state change requests. For instance, in response to a state change request, a DVD player may change its state from STOP to PLAY.
As useful as networks are, they can present some challenges when it comes to remotely controlling a device through a network. For example, most DVD players include buttons for PLAY, STOP, PAUSE, NEXT, and PREVIOUS. To control the DVD player through a network, a control point may include the same functions, possibly in the form of icons in a graphical user interface on a personal computer.
A user can expect an almost instantaneous response when pressing the buttons on the DVD player. For instance, skipping forward several tracks by repeatedly pressing the NEXT button may take just a couple of seconds. The response time through the network, however, can be less predictable and less reliable. The amount of other traffic on the network, interference in a wireless network, software crashes, and countless other factors may delay a state change request. Skipping forward several tracks may take several times as long through the network compared to the buttons on the DVD player.
The situation becomes even less predictable and less reliable when not only the control point is remote, but the content is remote as well. That is, rather than playing a DVD in the DVD player, the DVD player may be capable of downloading music and movies over the network from a server. In which case, both the request and the content may be delayed in the network.